package com.ft.oa.domain.project;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ft.oa.enums.ExecProjectCheckStatusEnum;
import com.ft.oa.utils.SecurityUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 立项项目审批人表实体
 * @author hefeng
 * @ClassName ExecProjectCheck
 * @date 2021/12/30 10:47
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "exec_project_check",autoResultMap = true)
public class ExecProjectCheck {

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 关联项目编码
     */
    private String projectNumber;

    /**
     * 审批类型：  approval-审批  carbon-copy-抄送
     */
    private String checkType;

    /**
     * 状态 0待审核 1审核通过 2驳回
     */
    private int status;

    /**
     * 备注，常用作驳回理由
     */
    private String note;

    /**
     * 审批时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime checkTime;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime = LocalDateTime.now();

    /**
     * 修改时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime = LocalDateTime.now();


    /**
     * 创建人id
     */
    private Long creator = SecurityUtils.getCurrentUser().getId();


}
